// 这个函数的目的就是为了根据后台返回的数据，动态的计算出用户需要的路由
//设计?

/**
 *
 * @param {Array} menuList 后台返回的用户菜单名字数组
 * @param {Array} allroutes 我们定义的所有路由配置
 * @returns {Array}根据后台菜单名计算出来的用户routes配置
 */
const recursionRoutes = (menuList = [], allRoutes = []) => {
  let userRoutes = [];
  menuList.forEach((item) => {
    allRoutes.forEach((routes) => {
      if (item.name === routes.meta.name) {
        //如果后台返回的数据中，其中某项的name和routes的mate相同，说明具备当前routes，把routes配置添加到userRoutes这个数组中
        if (item.children && item.children.length > 0) {
          routes.children = recursionRoutes(item.children, routes.children);
        }
        userRoutes.push(routes);
      }
    });
  });
  return userRoutes;
};
export default recursionRoutes;
